#pragma once
#include <ObjBase.h>
#include <Unknwn.h>

static const IID IID_SimpleArithmetic = 
{ 0x32bb8320, 0xb41b, 0x11cf,{0xa6,0xbb,0x0,0x80,0xc7,0xb2,0xd6,0x82} };

static const IID IID_Trigonometric = 
{ 0x32bb8321, 0xb41b, 0x11cf,{0xa6,0xbb,0x0,0x80,0xc7,0xb2,0xd6,0x82} };

// {6D4FD2E5-B4BD-4E21-A8E6-50C809B45C97}
static const CLSID CLSID_Math = 
{ 0x6d4fd2e5, 0xb4bd, 0x4e21, { 0xa8, 0xe6, 0x50, 0xc8, 0x9, 0xb4, 0x5c, 0x97 } };

// extern const IID IID_SimpleArithmetic;
// extern const IID IID_Trigonometric;
// extern const CLSID CLSID_Math;


interface ISimpleArithmetic : public IUnknown
{
	virtual int	__stdcall		add(int a, int b) = 0;
	virtual int	__stdcall		sub(int a, int b) = 0;
// 	virtual int	__stdcall		mult(int a, int b) = 0;
// 	virtual double __stdcall	div(int a, int b) = 0;
};

interface ITrigonometric : public IUnknown
{
	virtual double __stdcall	sin(double fAngle) = 0;
	virtual double __stdcall	cos(double fAngle) = 0;
// 	virtual double __stdcall	tan(double fAngle) = 0;
// 	virtual double __stdcall	cot(double fAngle) = 0;
};
